package org.infodavid.common.model;

import org.infodavid.common.persistence.IBasicDataObject;
import org.joda.time.DateTime;

/**
 * The Interface IEmployment.
 */
public interface IEmployment extends IBasicDataObject {

  /** The constant LOCAL_BEAN_JNDI_NAME. */
  String LOCAL_BEAN_JNDI_NAME = "IEmployment/local";

  /** The JOB_TITLE. */
  String JOB_TITLE = "title";

  /** The MANAGER. */
  String MANAGER = "manager";

  /** The ORGANIZATION. */
  String ORGANIZATION = "organization";

  /** The START_DATE. */
  String START_DATE = "startDate";

  /**
   * Gets the value of the jobTitle property.
   * @return possible object is {@link String }
   */
  String getTitle();

  /**
   * Gets the value of the manager property.
   * @return the person or null
   */
  IPerson getManager();

  /**
   * Sets the value of the jobTitle property.
   * @param value allowed object is {@link String }
   */
  void setTitle(String value);

  /**
   * Sets the value of the manager property.
   * @param value the value
   */
  void setManager(IPerson value);

  /**
   * Gets the start date.
   * @return the registration date
   */
  DateTime getStartDate();

  /**
   * Sets the start date.
   * @param value the timestamp
   */
  void setStartDate(DateTime value);

  /**
   * Gets the value of the company property.
   * @return the associated company site
   */
  IOrganization getOrganization();

  /**
   * Sets the value of the company property.
   * @param value the company site
   */
  void setOrganization(IOrganization value);
}
